/**
 * @project Devkits
 * @file mainwindow.h
 * @author rui.liang (rui.liang@ruhnix.com)
 * @date 2022/11/29 23:56:17
 */

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <memory>

#include "Logger.h"

QT_BEGIN_NAMESPACE

namespace Ui {
class MainWindow;
}

QT_END_NAMESPACE

class MainWindow : public QMainWindow {
    Q_OBJECT

  public:
    using Ptr = std::shared_ptr<MainWindow>;
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow() override;

  private:
    void initUi();
    void initSettings();
    void initConnect();

  protected:
    Ui::MainWindow *ui;
    Logger *m_logger = nullptr;
};

#endif // MAINWINDOW_H
